﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using SIM.Geo.BE;
using System.Linq;

namespace SIM.Geo.DA
{
    public class DAGrupoMezclaResultado : Base
    {
        #region Metodos
        /// <summary>
        /// Método devuelve lista GrupoMezclaResultadoResultado
        /// </summary>
        /// <returns></returns>
        public List<GrupoMezclaResultado> ListarGrupoMezclaResultado()
        {
            return this.Context.GrupoMezclaResultado.ToList();
        }
        /// <summary>
        /// Método devuelve lista GrupoMezclaResultadoResultado
        /// </summary>
        /// <returns></returns>
        public List<GrupoMezclaResultado> ListarGrupoMezclaResultadoPorCodigo(string codigoGrupoMezcla)
        {
            return this.Context.GrupoMezclaResultado.Where(x => x.CodigoGrupoMezcla == codigoGrupoMezcla).ToList();
        }
        /// <summary>
        /// Método inserta una GrupoMezclaResultadoResultado
        /// </summary>
        /// <param name="GrupoMezclaResultado"></param>
        /// <returns></returns>
        public string InsertarGrupoMezclaResultado(GrupoMezclaResultado grupoMezclaResultado)
        {
            this.Context.GrupoMezclaResultado.AddObject(grupoMezclaResultado);
            this.Context.SaveChanges();
            return grupoMezclaResultado.CodigoGrupoMezcla;
        }
        /// <summary>
        /// Método modifica una GrupoMezclaResultadoResultado
        /// </summary>
        /// <param name="GrupoMezclaResultado"></param>
        public void ModificarGrupoMezclaResultado(GrupoMezclaResultado grupoMezclaResultado)
        {
            this.Context.GrupoMezclaResultado.Attach(grupoMezclaResultado);
            this.Context.ObjectStateManager.ChangeObjectState(grupoMezclaResultado, EntityState.Modified);
            this.Context.SaveChanges();
        }
        /// <summary>
        /// Método que elimina GrupoMezclaResultadoResultado
        /// </summary>
        /// <param name="GrupoMezclaResultado"></param>
        public void EliminarGrupoMezclaResultado(GrupoMezclaResultado grupoMezclaResultado)
        {
            this.Context.GrupoMezclaResultado.Attach(grupoMezclaResultado);
            this.Context.ObjectStateManager.ChangeObjectState(grupoMezclaResultado, EntityState.Deleted);
            this.Context.SaveChanges();
        }
        /// <summary>
        /// Método para obtener GrupoMezclaResultadoResultado
        /// </summary>
        /// <param name="codigoMuestraMensaje"></param>
        /// <returns></returns>
        public GrupoMezclaResultado ObtenerGrupoMezclaResultado(string codigoGrupoMezcla, int codigoPlataforma)
        {
            return this.Context.GrupoMezclaResultado.Where(x => x.CodigoGrupoMezcla.Equals(codigoGrupoMezcla) && x.CodigoPlataforma.Equals(codigoPlataforma)).FirstOrDefault();
        }

        /// <summary>
        /// Devuelve lista de GrupoMezclaResultadoResultado
        /// </summary>
        /// <param name="codigoCanal"></param>
        /// <returns></returns>
        public List<ListarBlendingResultado_Result> BuscarGrupoMezclaResultado(string codigoGrupoMezcla)
        {
            return this.Context.ListarBlendingResultado(codigoGrupoMezcla).ToList();
        }

        #endregion
    }
}
